home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 23 / CU Amiga - Super CD-ROM 23 (June 1998).iso / CreatingGames / Utilities / Misc / GMS / GMSDev / Includes / graphics / cards.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-10-27  |  2.5 KB  |  79 lines

  1. #ifndef GRAPHICS_CARDS_I
  2. #define GRAPHICS_CARDS_I TRUE
  3.  
  4. /*
  5. **  $VER: cards.i V0.8B
  6. **
  7. **  (C) Copyright 1996-1997 DreamWorld Productions.
  8. **      All Rights Reserved.
  9. **
  10. */
  11.  
  12. #ifndef DPKERNEL_H
  13. #include <dpkernel/dpkernel.h>
  14. #endif
  15.  
  16. /***************************************************************************
  17. ** Module details.
  18. */
  19.  
  20. Cards_ModVersion  =  0
  21. Cards_ModRevision =  8
  22.  
  23. /***************************************************************************
  24. ** The CardSet structure for playing cards.
  25. */
  26.  
  27. #define CSVERSION    1
  28. #define TAGS_CARDSET ((ID_SPCTAGS<<16)|ID_CARDSET)
  29.  
  30. struct CardSet {
  31.   struct Head Head;     /* 00: Standard header */
  32.   WORD     Card;          /* 12: Card number to draw */
  33.   WORD     AmtCards;      /* 14: Number of cards in deck */
  34.   LONG     AmtColours;    /* 16: Amount of colours */
  35.   LONG   *Palette;      /* 20: Pointer to palette */
  36.   LONG     Options;       /* 24: Options like GETPALETTE */
  37.   LONG     Attrib;        /* 28: Blitting attributes */
  38.   APTR     Source;        /* 32: File that the cardset comes from */
  39.   struct Bob *Bob;      /* 36: Bob structure */
  40.   APTR     Owner;         /* 40: Pointer to Bitmap owner */
  41.   WORD     ScrMode;       /* 44: Screen mode */
  42.  
  43.   /*** Private fields start now ***/
  44.  
  45.   BYTE   prvAFlags;     /* Record of previous allocations */
  46.   BYTE   prvPad;        /* Empty */
  47.   WORD   prvCardWidth;  /* Card width rounded up 16 pixels */
  48.   LONG   prvCardSize;   /* Bytes used by each card */
  49.   LONG   prvViewmode;   /* OS Viewmode ID */
  50.   LONG   prvRekoRaw;    /* Raw file - cardset */
  51.   LONG   prvTaglistBob; /* Tag list used for Bob */
  52.   LONG   prvGfxDirect;  /* Pointer to first graphic */
  53.   LONG   prvGfxEnd;     /* LISTEND terminator for the above */
  54.   LONG   prvMaskDirect; /* Pointer to first mask */
  55.   LONG   prvMaskEnd;    /* LISTEND terminator for the above */
  56. };
  57.  
  58. /* CardSet Tags */
  59.  
  60. #define CSA_AmtColours (16|TLONG)
  61. #define CSA_Palette    (20|TAPTR)
  62. #define CSA_Options    (24|TLONG)
  63. #define CSA_Attrib     (28|TLONG)
  64. #define CSA_Source     (32|TAPTR)
  65. #define CSA_BobTags    (36|TSTEPIN)
  66. #define CSA_Owner      (40|TAPTR)
  67. #define CSA_ScrMode    (44|TWORD)
  68.  
  69. /* Flags for shuffling */
  70.  
  71. #define SHUFFLE_NORMAL   0  /* Mix some times */
  72. #define SHUFFLE_BABY     1  /* Move blocks of card in a different position */
  73. #define SHUFFLE_CROUPIER 2  /* Divide in two decks and then bend and releasing them */
  74. #define SHUFFLE_MACHINE  3  /* Simulate a casino shuffling machine */
  75. #define SHUFFLE_GAMBLING 4  /* Shuffle maintain blocks of cards closer */
  76. #define SHUFFLE_PARANOID 5  /* Shuffle many many times */
  77.  
  78. #endif /* GRAPHICS_CARDS_I */
  79.